package com.example.springbootbatch.validator;

import com.example.springbootbatch.domain.Person;
import org.springframework.batch.item.validator.ValidatingItemProcessor;
import org.springframework.batch.item.validator.ValidationException;

/**
 * 数据校验，通过 JSR-303（hibernate-validator） 的注解,来校验 ItemReader 读取到的数据是否满足要求
 * @author ljw
 * @date 2022/8/31 7:18
 */
public class CsvItemProcessor extends ValidatingItemProcessor<Person> {

    @Override
    public Person process(Person item) throws ValidationException {
        //需执行 super.process(item) 才会调用自定义校验器
        super.process(item);

        //对数据处理
        if (item.getNation().equals("汉族")) {
            item.setNation("01");
        } else {
            item.setNation("02");
        }
        return item;
    }
}
